// $Id: networktopologizerrandom.h 40 2004-09-27 08:20:26Z hansemil $
#ifndef NETWORKTOPOLOGIZERRANDOM_H
#define NETWORKTOPOLOGIZERRANDOM_H

#include "networktopologizer.h"

/**
 * NetworkTopologizerRandom adds a fixed number of random neigbours to each node in the network. (Each run will create node tuples, so it's really creating random ring(s).)
 * Please note that if that node already exists in the routing table of that node, then NO node will be added.
 */
class NetworkTopologizerRandom : public NetworkTopologizer {
public:
	NetworkTopologizerRandom(list<Node *> *, int);
	~NetworkTopologizerRandom();

private:
};

/**
 * SortRandomHelper helps a STL list to sort itself in a random fashion.
 */
class SortRandomHelper {
public:
	bool operator() (Node *a, Node *b) {
		return (int)(2.0*rand()/(RAND_MAX+1.0));
	}
};

#endif
